#ifndef _DEV_COMMON_H_
#define _DEV_COMMON_H_

#include "common/common.h"
#include "json/json-usr.h"


namespace iecas_ns
{
    class CDevCommon
    {
		public:
			static shared_ptr<CDevCommon> getInstance();
            CDevCommon();
            void init_serial(string srcDev);
            void new_serial(string srcDev);
            void deinit_serial(string srcDev);
            void init_usb_disk(string srcDev);
            void new_usb_disk(string srcDev);
            void deinit_usb_disk(string srcDev);
            void init_usb_keyboard(string srcDev);
            void new_usb_keyboard(string srcDev);
            void deinit_usb_keyboard(string srcDev);
            void init_usb_camera(string srcDev);
            void new_usb_camera(string srcDev);
            void deinit_usb_camera(string srcDev);
            void init_usb_net(string srcDev);
            void new_usb_net(string srcDev);
            void deinit_usb_net(string srcDev);
            void init_sdcard(string srcDev);
            void new_sdcard(string srcDev);
            void deinit_sdcard(string srcDev);
		private:
			static shared_ptr<CDevCommon> sm_intancePtr;
            shared_ptr<CCommon> m_commonPtr;
    };
}

#endif